package cn.signalpha.modules.pay.provider;

import cn.signalpha.modules.pay.dto.PayDTO;
import cn.signalpha.modules.pay.dto.RefundDTO;
import cn.signalpha.modules.pay.dto.SettleOrderDTO;
import cn.signalpha.modules.pay.dto.SettleUserDTO;
import cn.signalpha.modules.pay.vo.RefundVO;
import cn.signalpha.modules.pay.vo.SettleOrderVO;
import cn.signalpha.modules.pay.vo.SettleUserVO;

import java.util.Map;

/**
 * 支付统一接口
 */
public interface IPayGranter {

	/**
	 * 获取支付参数
	 */
	String getPayVO(PayDTO payDTO);

	/**
	 * 回调通知校验
	 */
	String verifyNotify(Map<String, String> params);

	/**
	 * 退款
	 */
	RefundVO refund(RefundDTO refundDTO);

	/**
	 * 添加分账接收方
	 */
	SettleUserVO settleUser(SettleUserDTO settleUserDTO);

	/**
	 * 进行多次分账，每次分一人
	 */
	SettleOrderVO settleOrder(SettleOrderDTO settleOrderDTO);

	/**
	 * 完结分账
	 */
//	void settleOrderFinish(SettleOrderDTO settleOrderDTO);
}
